<template>
	<!-- *************************https://blog.csdn.net/weixin_44202904/article/details/132204909 ***************************8-->
	<!-- *****************************************https://www.cnblogs.com/gwkzb/p/16578972.html******************************************88 -->
	<!--  *****************************************https://blog.csdn.net/weixin_44523517/article/details/131580335?spm=1001.2101.3001.6650.11&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-11-131580335-blog-132731575.235%5Ev43%5Epc_blog_bottom_relevance_base4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-11-131580335-blog-132731575.235%5Ev43%5Epc_blog_bottom_relevance_base4&utm_relevant_index=17  *****************************************-->
	<!-- 上傳附件組件 -->
	<view>
		<view
			style="position: absolute;display: flex;width: 100%;justify-content: space-between;margin-top: -100rpx;padding: 6rpx 20rpx 0 20rpx;">
			<!-- 子组件的上传区域布局站位 -->
			<view></view>
			<view style="padding-right: 40rpx;">
				<view v-if="!disabled" class="btn" :style="{width: width,height: height}" @click="handleUpload('打开')">
					<uni-icons type="plusempty" size="20"></uni-icons>
				</view>
			</view>
		</view>


		<view>
			<!-- 暂时不要删除 后续根据需求操作 -->
			<!-- <view style="margin-left: 10rpx;">大小：{{item.size}}</view>
			<view style="margin-left: 10rpx;">状态：{{item.type}}</view>
			<view style="margin-left: 10rpx;">进度：{{item.progress}}</view> -->
			<!-- #ifndef MP-WEIXIN -->
			<view v-for="(item,index) in FileList" :key="index">
				<uni-list>
					<uni-list-item>
						<!--文件列表头部区域 -->
						<template v-slot:header>
							<view class="slot-box" @click="onSaveFilesClick(item)">
								<!-- ******************给新增刚刚上传时候用********************************** -->
								<view v-if="item.fileEntity">
									<view v-if="item.fileEntity.extension">
										<image v-if="item.fileEntity.extension==='.png'" class="slot-image"
											:src="require('../assets/upload/png.png')" mode="widthFix"
											style="width: 70rpx;height: 70rpx;">
										</image>
										<image v-if="item.fileEntity.extension ==='.jpg'" class="slot-image"
											:src="require('../assets/upload/jpg.png')" mode="widthFix"
											style="width: 70rpx;height: 70rpx;">
										</image>
										<image v-if="item.fileEntity.extension==='.docx'" class="slot-image"
											:src="require('../assets/upload/docx.png')" mode="widthFix"
											style="width: 70rpx;height: 70rpx;">
										</image>
										<image v-if="item.fileEntity.extension==='.doc'" class="slot-image"
											:src="require('../assets/upload/doc.png')" mode="widthFix"
											style="width: 70rpx;height: 70rpx;">
										</image>
										<image v-if="item.fileEntity.extension ==='.pdf'" class="slot-image"
											:src="require('../assets/upload/pdf.png')" mode="widthFix"
											style="width: 70rpx;height: 70rpx;">
										</image>
										<image v-if="item.fileEntity.extension ==='.xlsx'" class="slot-image"
											:src="require('../assets/upload/xlsx.png')" mode="widthFix"
											style="width: 70rpx;height: 70rpx;">
										</image>
										<image v-if="item.fileEntity.extension==='.xls'" class="slot-image"
											:src="require('../assets/upload/xls.png')" mode="widthFix"
											style="width: 70rpx;height: 70rpx;">
										</image>
									</view>
									<!-- ******************给详情进来用********************************** -->
									<view v-else>
										<image v-if="getFileSuffix(item.fileEntity.FileName) ==='.png'"
											class="slot-image" :src="require('../assets/upload/png.png')"
											mode="widthFix" style="width: 70rpx;height: 70rpx;">
										</image>
										<image v-if="getFileSuffix(item.fileEntity.FileName)  ==='.jpg'"
											class="slot-image" :src="require('../assets/upload/jpg.png')"
											mode="widthFix" style="width: 70rpx;height: 70rpx;">
										</image>
										<image v-if="getFileSuffix(item.fileEntity.FileName) ==='.docx'"
											class="slot-image" :src="require('../assets/upload/docx.png')"
											mode="widthFix" style="width: 70rpx;height: 70rpx;">
										</image>
										<image v-if="getFileSuffix(item.fileEntity.FileName)  ==='.doc'"
											class="slot-image" :src="require('../assets/upload/doc.png')"
											mode="widthFix" style="width: 70rpx;height: 70rpx;">
										</image>
										<image v-if="getFileSuffix(item.fileEntity.FileName)  ==='.pdf'"
											class="slot-image" :src="require('../assets/upload/pdf.png')"
											mode="widthFix" style="width: 70rpx;height: 70rpx;">
										</image>
										<image v-if="getFileSuffix(item.fileEntity.FileName)  ==='.xlsx'"
											class="slot-image" :src="require('../assets/upload/xlsx.png')"
											mode="widthFix" style="width: 70rpx;height: 70rpx;">
										</image>
										<image v-if="getFileSuffix(item.fileEntity.FileName)  ==='.xls'"
											class="slot-image" :src="require('../assets/upload/xls.png')"
											mode="widthFix" style="width: 70rpx;height: 70rpx;">
										</image>
									</view>
								</view>
							</view>
						</template>
						<!-- 文件列表哦内容名称区域 -->
						<template v-slot:body>
							<view style="width: 82%;display: flex;align-items: center;" @click="onSaveFilesClick(item)">
								<text class="" v-if="item.fileEntity.FileName">{{ item.fileEntity.FileName}}</text>
								<text class="" v-else>{{ item.fileEntity.fileGuid + item.fileEntity.extension}}</text>
							</view>
						</template>
						<!-- 文件列表删除 -->
						<template v-slot:footer>
							<view v-if="disabled" style="width: 30%;display: flex;justify-content: flex-end;">
							</view>
							<view v-if="!disabled" style="width: 30%;display: flex;justify-content: flex-end;">
								<image class="slot-image" src="../assets/delete.png" mode="widthFix"
									@click="handlerRmoveFile(item, index)"
									style="width: 50rpx;height: 50rpx;display: block;"></image>
							</view>
						</template>
					</uni-list-item>
				</uni-list>
			</view>
			<!-- #endif -->

			<!-- #ifdef MP-WEIXIN -->
			<!-- <view v-for="(item,index) in wxFiles" :key="index" style="border: 2px solid green;;">
				<text>{{item.name}}</text>
				<text style="margin-left: 10rpx;">大小：{{item.size}}</text>
				<text style="margin-left: 10rpx;">状态：{{item.type}}</text>
				<text style="margin-left: 10rpx;">进度：{{item.progress}}</text>
				<view>
					<button @click="resetUpload(item.name)">重新上传</button>
					<button @click="clear(item.name)">删除</button>
				</view>
			</view> -->
			<!-- #endif -->

		</view>

		<!-- 拍照 -->
		<uni-popup ref="popup" type="bottom">
			<view style="padding: 20rpx 20rpx 40rpx 20rpx;">
				<button style="height: 80rpx;line-height: 85rpx;font-size: 30rpx;"
					@click="handleUpload('拍照')">拍照</button>
				<!-- 设置只有苹果手机显示 安卓手机选择文件时可以选择相册 所以只判断苹果端即可 -->
				<button v-if="platform === 'ios'"
					style="margin-top: 10rpx;height: 80rpx;line-height: 85rpx;font-size: 30rpx;"
					@click="handleUpload('相册')">相册选取</button>
				<button style="margin-top: 10rpx;height: 85rpx;line-height: 85rpx;font-size: 30rpx;"
					@click="handleUpload('文件')">文件</button>
				<button style="margin-top: 10rpx;height: 85rpx;line-height: 85rpx;font-size: 30rpx;"
					@click="$refs.popup.close()">取消</button>
			</view>
		</uni-popup>
		<!-- 适配安卓端 -->
		<!-- 上传附件 -->
		<ysh-file-manager ref="filemanager" @result="resultSuccess"></ysh-file-manager>

	</view>
</template>
<script>
	import yshFileManager from "@/components/ysh-file-manager/ysh-file-manager.vue"
	// 引入api文件
	import {
		// 日常和差旅附件刪除
		Reimburse_FilesDeleteData
	} from "@/api/interface.js";
	export default {
		props: {
			disabled: {
				type: Boolean,
				default: false
			},
			parentObj: {
				type: Object,
				default: () => {}
			},
			// 附件上传地址
			action: {
				type: String,
				default: '/ReimburseManagement/Reimburse_Daily_Main/UploadFile'
			}
		},
		components: {
			yshFileManager
		},
		data() {
			return {
				// 手机系统类型
				platform: uni.getSystemInfoSync().platform,
				// 上传接口参数
				option: {
					// 上传服务器地址，需要替换为你的接口地址
					url: this.$ActionUrl + this.action, // 该地址非真实路径，需替换为你项目自己的接口地址
					// 上传附件的key
					name: 'file',
					// 根据你接口需求自定义请求头,默认不要写content-type,让浏览器自适配
					header: {
						// 示例参数可删除
						'Authorization': 'Bearer ' + uni.getStorageSync('token')
					},
					// 根据你接口需求自定义body参数
					formData: {
						// 'orderId': 1000
					}
				},
				// 已上传的文件列表
				FileList: [],
				// 必传宽高且宽高应与slot宽高保持一致
				width: '50rpx',
				height: '50rpx',
				// 文件上传大小限制
				size: 30,
				// 文件数量限制
				count: 2,
				// 是否多选
				multiple: true,
				// 文件回显列表使用new Map() 创建map对象  存储在map对象中
				// .size  获取map长度   
				// .delete('name')   使用delete方法 删除map某个键值对
				// .clear()          使用clear方法 清空map的数据,移除所有元素
				// .get('name')      使用get方法 获取map某个属性的值
				// has('name')        使用has方法 判断是否有该属性名
				// .set('name','zhangsan')     使用set方法 为map对象设置键值对   name  为key值   zhangsan为  value值
				// for (let value of myMap.values()) {     //遍历值
				// console.log(value); // 输出: 25  
				// }
				// for (let key of myMap.keys()) {           //遍历键
				//   console.log(key); // 输出: "age"  
				// }  
				// for (let [key, value] of myMap.entries()) {  // 遍历键值对
				//   console.log(`Key: ${key}, Value: ${value}`); // 输出: Key: age, Value: 25  
				// }
				// 微信小程序Map对象for循环不显示，所以转成普通数组，不要问为什么，我也不知道
				wxFiles: [],
				Upload: []

			}
		},
		created() {},
		methods: {
			// 上传附件返回的结果
			resultSuccess(file) {
				console.log('文件选择好了', file)
				if (file.path == null) {
					this.$errorToast('不支持的文件选择路径位置，请重新选择文件位置')
					return
				}
				uni.showLoading({
					title: '上传中'
				})
				// /进行上传提交后台
				this.submitUpload(file.path)
			},
			// 打开拍照 文件上传
			handleUpload(type) {
				console.log('开始上传附件了', type)
				if (type === '打开') {
					// 打开底部弹窗
					this.$refs.popup.open()
				} else if (type === '拍照') {
					// 走拍照逻辑
					this.upclickPhoto()
				} else if (type === '相册') {

					console.log('走相册选取了', type)
					this.$refs.popup.close() //关闭底部相机  相册 视频弹窗 
					uni.chooseImage({
						sizeType: ['compressed'],
						sourceType: ['album'],
						crop: {
							quality: 50,
							width: 600,
							height: 600
						},
						success: (res) => {
							this.getCompressImage(res.tempFiles[0].path)
							// uni.navigateTo({
							// 	url: '/pages/user/uploadImageCamera?path=' + encodeURIComponent(res
							// 		.tempFilePaths[0]) + '&size=' + res.tempFiles[0].size
							// })
						}
					})
				} else {
					// #ifdef APP-PLUS
					// 兼容苹果收i和安卓手机文件上传
					switch (uni.getSystemInfoSync().platform) {
						case 'android':
							// 走文件选择逻辑
							this.$refs.filemanager._openFile()
							this.$refs.popup.close() //关闭底部相机  相册 视频弹窗 
							break;
						case 'ios':
							this.filePathIos()
							this.$refs.popup.close() //关闭底部相机  相册 视频弹窗 
							break;
					}

					// #endif  

				}
			},

			// ios 选择文件
			filePathIos() {
				plus.io.chooseFile({
					title: '选择文件',
					filetypes: ['pdf'], // 允许的文件类型  
					multiple: false, // 是否允许多选  
				}, (e) => {

					// 此路径为文件的本地真实路径，可使用该路径进行上传文件
					let tempFilePaths = e.files[0]
					//保存本地永久路径 APP
					// #ifdef APP
					this.submitUpload(tempFilePaths)
					// #endif

				})
			},


			// 拍照
			upclickPhoto(type) { //上传图片到本地获取到本地地址
				this.$refs.popup.close() //关闭底部相机  相册 视频弹窗  
				var that = this
				// 暂时不删除  后续根据需求赋值造作
				// if (type) {
				// 	// 同时展示相机，相册权限使用说明蒙版
				// 	setTimeout(() => {
				// 		that.$refs['AuthCamera'].open();
				// 	}, 500)
				// }
				uni.chooseImage({
					sizeType: ['compressed'],
					sourceType: ['camera'],
					crop: {
						quality: 50,
						width: 600,
						height: 600
					},
					success: (res) => {
						console.log('拍照上传成功了---', res);
						this.getCompressImage(res.tempFiles[0].path, res.tempFiles[0].size)
					}
				})
			},
			// 上传图片压缩图片函数
			getCompressImage(tempFilePaths, tempFilePathsSize) {
				var that = this
				// 临时路径注释 H5页面测试可放开后注释下面的
				// #ifdef H5
				// 暂时不删除
				// 	var strFileName = tempFilePaths.substring(tempFilePaths.lastIndexOf(
				// 		"/") + 1)
				// 	var obj = {
				// 		Mtype: "image",
				// 		Murl: tempFilePaths, 
				// 		name: strFileName,
				// 		FileSize: tempFilePathsSize
				// 	}
				uni.showLoading({
					title: '上传中'
				})
				uni.uploadFile({
					url: this.$ActionUrl + this.action,
					filePath: tempFilePaths,
					name: 'file',
					header: {
						// 示例参数可删除
						'Authorization': 'Bearer ' + uni.getStorageSync('token')
					},
					success: (res) => {

						if (res.statusCode == 200) {
							let fileData = JSON.parse(res.data)
							if (fileData.Success) {
								this.FileList.push(fileData.Data)
								this.Upload.push(fileData.Data)
								let obj = {
									reimburse_Files: this.FileList,
									Upload: this.Upload
								}

								setTimeout(function() {
									uni.hideLoading()
								}, 4000)

								that.$sucessToast('已上传')
								// 上传成功后传递给父组件
								this.$emit("handlerSuccess", obj)
							} else {
								that.$errorToast(fileData.Msg)
							}

							console.log('上传结果', res, this.FileList, fileData)

						} else {
							that.$errorToast('上传失败，请重新尝试')
							uni.hideLoading()
						}
						console.log('已经上传成功了-----------------------', this.FileList)

					}
				});
				// #endif
				//保存本地永久路径 APP
				// #ifdef APP
				this.submitUpload(tempFilePaths)
				// #endif
			},
			// ************************暂时不删除该方法 后续根据需求操作即可*********************************************888
			// 文件选择上传
			// uploadFile(callback, params = {}) {
			// 	// #ifdef APP-PLUS
			// 	let that = this;
			// 	let filePath = ''
			// 	let main = plus.android.runtimeMainActivity();
			// 	let Intent = plus.android.importClass('android.content.Intent');
			// 	let Activity = plus.android.importClass('android.app.Activity');
			// 	let intent = new Intent(Intent.ACTION_GET_CONTENT);
			// 	intent.setType('*/*');
			// 	intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, false); //关键！多选参数
			// 	intent.addCategory(Intent.CATEGORY_OPENABLE);
			// 	main.startActivityForResult(intent, 200);
			// 	// 获取回调
			// 	main.onActivityResult = (requestCode, resultCode, data) => {
			// 		let Activity = plus.android.importClass('android.app.Activity');
			// 		let ContentUris = plus.android.importClass('android.content.ContentUris');
			// 		let Cursor = plus.android.importClass('android.database.Cursor');
			// 		let Uri = plus.android.importClass('android.net.Uri');
			// 		let Build = plus.android.importClass('android.os.Build');
			// 		let Environment = plus.android.importClass('android.os.Environment');
			// 		let DocumentsContract = plus.android.importClass('android.provider.DocumentsContract');
			// 		var MediaStore = plus.android.importClass('android.provider.MediaStore');
			// 		// 给系统导入 contentResolver
			// 		let contentResolver = main.getContentResolver();
			// 		plus.android.importClass(contentResolver);
			// 		if (resultCode == Activity.RESULT_OK) {
			// 			console.log('data', data)
			// 			// 解析路径
			// 			if (data.getData() != null) {
			// 				let uri = data.getData()
			// 				console.log('uri', uri)
			// 				let path = uri.getPath() // 获取到选择文件的虚拟路径
			// 				console.log('path-------------------------', path)
			// 				this.filePath = path
			// 				let docId = DocumentsContract.getDocumentId(uri);
			// 				let split = docId.split(":");
			// 				let type = split[0];
			// 				let selection = "_id=?";
			// 				let selectionArgs = new Array();
			// 				selectionArgs[0] = split[1];
			// 				uri = MediaStore.Files.getContentUri("external");
			// 				plus.android.importClass(main.getContentResolver());
			// 				// 通过查询的方式用虚拟路径的id1获取到文件的真实路径
			// 				console.log('uri', uri)
			// 				console.log('docId', docId)
			// 				console.log('selectionArgs', selectionArgs.toString())
			// 				let cursor = main.getContentResolver().query(uri, ['_data'], selection, selectionArgs,
			// 					null);
			// 				plus.android.importClass(cursor);
			// 				console.log('cursor', cursor)
			// 				console.log('cursor.moveToFirst()', cursor.moveToFirst())
			// 				let result

			// 				if (cursor != null) {
			// 					let column_index = cursor.getColumnIndexOrThrow('_data');
			// 					console.log('column_index', column_index)
			// 					result = cursor.getString(column_index) // result即文件的真实路径
			// 					console.log('resulttt', result)
			// 					cursor.close();
			// 				}
			// 				result = 'file://' + result
			// 				this.filePath = result // 此路径为文件的本地真实路径，可使用该路径进行上传文件

			// 				console.log('此路径为文件的本地真实路径，可使用该路径进行上传文件此路径为文件的本地真实路径，可使用该路径进行上传文件', this.filePath)
			// 			}

			// 		}
			// 	}
			// 	// #endif 
			// },
			// ************************暂时不删除该方法 后续根据需求操作即可*********************************************888
			// 开始上传提交给后台
			submitUpload(filePath) {
				var that = this

				// 获取上传额附件文件后缀名
				let FileSuffix = this.getFileSuffix(filePath)
				console.log('出阿迪过来的附件', filePath, FileSuffix)

				// 判断上传的附件文件是否为图片 jpg  png pdf    其余暂时不支持
				if (FileSuffix === '.png' || FileSuffix === '.jpg' || FileSuffix === '.pdf') {
					uni.showLoading({
						title: '上传中'
					})
					console.log('可以开始上传了', filePath)
					uni.uploadFile({
						url: this.$ActionUrl + this.action,
						filePath: filePath,
						name: 'file',
						header: {
							// 示例参数可删除
							'Authorization': 'Bearer ' + uni.getStorageSync('token')
						},
						success: (res) => {
							console.log('上传结果', res)
							if (res.statusCode == 200) {
								let fileData = JSON.parse(res.data)
								if (fileData.Success) {
									this.FileList.push(fileData.Data)
									this.Upload.push(fileData.Data)
									let obj = {
										reimburse_Files: this.FileList,
										Upload: this.Upload
									}

									setTimeout(function() {
										uni.hideLoading()
									}, 4000)
									that.$sucessToast('已上传')
									// 上传成功后传递给父组件
									this.$emit("handlerSuccess", obj)
								} else {
									that.$errorToast(fileData.Msg)
								}
							} else {
								that.$errorToast('上传失败，请重新尝试')
								uni.hideLoading()
							}
							console.log('已经上传成功了-----------------------', this.FileList)

						}
					});
				} else {
					this.$errorToast('请上传png/jpg/pdf类型文件')
					return
				}

			},
			// 移除某个文件
			handlerRmoveFile(item, index) {
				var that = this
				let deleteId = item.fileEntity.Id ? item.fileEntity.Id : undefined
				if (deleteId == undefined) {
					// 删除后更新上传子组件的附件列表  否则页面不刷新
					this.FileList.splice(index, 1)
					this.Upload.splice(index, 1)
					let obj = {
						item: item,
						index: index,
						FileList: this.FileList,
						Upload: this.Upload
					}
					// 删除后的值传递给父组件
					that.$emit('handlerRmoveFile', obj)
					this.$sucessToast('已删除')
					return
				}

				console.log('移除某个文件22222222222222222222222222', item, index, this.FileList, this.Upload)
				this.$utils.showConfirm({
					content: '确定要删除吗',
					confirmText: "删除",
					confirmColor: "#D1100b"
				}).then(res => {
					if (res.confirm) {
						uni.showLoading({
							title: '删除中'
						})
						this.loading = true
						Reimburse_FilesDeleteData([deleteId]).then(resJson => {
							if (resJson.Success) {
								// 删除后更新上传子组件的附件列表  否则页面不刷新
								that.FileList.splice(index, 1)
								that.Upload.splice(index, 1)
								that.$sucessToast('已删除')
								setTimeout(function() {
									that.loading = false
									uni.hideLoading()
								}, 2500)
								let obj = {
									item: item,
									index: index,
									FileList: that.FileList,
									Upload: that.Upload
								}

								// 删除后的值传递给父组件
								that.$emit('handlerRmoveFile', obj)
							} else {
								that.$errorToast(resJson.Msg);
								setTimeout(function() {
									that.loading = false
									uni.hideLoading()
								}, 2500)
							}
						})
					} else {
						uni.hideLoading()
					}
				})


			},



			// 处理附件回显
			setFileShowList(file) {
				let newArr = []
				file.forEach(item => {
					console.log('循环----', item)
				})

				let newFile = file
				console.log('处理附件回显子组件里0--------------------1111', newFile)
				this.FileList = newFile
				// newFile.forEach(item => {
				// 	item.linkUrl = item.FilePath
				// })

				// let arr = newFile.map(item => {
				// 	return {
				// 		name: item.fileEntity.FileName,
				// 		path: {
				// 			name: item.fileEntity.FileName,
				// 			responseText: {
				// 				Data: item.fileEntity
				// 			}
				// 		}

				// 	}
				// })
				// arr.forEach(item => {
				// 	this.files.set(item.name, item.path);
				// })
				this.$forceUpdate()
				console.log('处理附件回显了子组件里的----------------22222-', this.FileList)

			},
			// 获取文件后缀名
			getFileSuffix(url) {
				let resultURL = ""
				if (url) {
					resultURL = url.substring(url.lastIndexOf(".") + 1).toLowerCase();
				}

				return '.' + resultURL
			},

			//根据文件后缀名来判断，展示对应的图标
			isImage(type) {
				// 'jpeg', 'gif', 'svg'
				return ['png', 'jpg'].includes(type.toLowerCase());
			},
			isDocx(type) {
				return ['doc', 'docx'].includes(type.toLowerCase());
			},
			isXsls(type) {
				return ['xsls', 'xsl', 'pdf]'].includes(type.toLowerCase());
			},
			isText(type) {
				return ['text', 'txt'].includes(type.toLowerCase());
			},
			isFileType(type) {
				if (this.isImage(type)) return type;
				if (this.isXsls(type)) return type;
				if (type == 'pdf') return type;
				if (this.isDocx(type)) return type;
				if (this.isText(type)) return type;
				// return "#icon-file-b--6";
			},


			// 点击下载按钮实现文件的下载：
			onSaveFilesClick(file) {
				var that = this
				let fileUrl = file.fileEntity.linkUrl ? file.fileEntity.linkUrl : file.fileEntity.FilePath
				console.log('file下载', fileUrl)
				// 获取上传额附件文件后缀名
				let FileSuffix = this.getFileSuffix(fileUrl)
				uni.downloadFile({
					//需要预览的文件地址
					url: fileUrl,
					header: {
						'Access-Control-Allow-Origin': '*'
					},
					filePath: '/Download',
					success: (res) => {
						if (res.statusCode === 200) {
							//下载成功，得到文件临时地址
							console.log('下载成功', res.tempFilePath);

							//条件编译，若为h5端则直接赋值文件地址			
							// #ifdef H5
							let url = res.tempFilePath
							// #endif

							//条件编译，若为App端，则需要将本地文件系统URL转换为平台绝对路径	！！		
							// #ifdef APP-PLUS
							let url = plus.io.convertLocalFileSystemURL(res.tempFilePath)
							// #endif



							if (FileSuffix === '.png' || FileSuffix === '.jpg') {
								// 如果是图片
								//下载成功
								if (res.statusCode === 200) {

									//保存文件
									var tempFile = res.tempFilePath;
									// console.log(tempFile, res, 'tempFilePath');
									//保存成功之后 打开文件
									uni.openDocument({
										filePath: tempFile,
										success: function(res) {
											console.log('打开文档成功');
										},
										// showMenu: true, //微信小程序 downloadFile生成的tempFilePath为临时路径无法直接保存到手机 显示菜单设置可以手动保存到手机本地 
										fail: function(res) {
											uni.showToast({
												title: JSON.stringify(res)
											})
										},
										// 以下代码暂时不删除  后续根据需求操作******************************** 
										// fail: (e) => {
										// 	console.log(e, '打开失败');
										// 	let nowEno = uni.getSystemInfoSync().platform; //当前环境
										// 	console.log(e, '打开失败', nowEno)
										// 	if (nowEno ==
										// 		'ios') { //ios打开临时路径文件失败 设置ios环境下读取临时路径文件可以打开
										// 		uni.getFileSystemManager().readFile({
										// 			filePath: tempFile,
										// 			success: res => {
										// 				console.log("filebuffer", res);
										// 				var filebuffer = res.data;
										// 				return filebuffer;
										// 			},
										// 			fail: console.error,
										// 		})
										// 	} else {
										// 		uni.showToast({
										// 			title: '打开失败',
										// 			icon: "error",
										// 		})
										// 	}
										// }
									})
									setTimeout(function() {
										uni.hideLoading(); //隐藏加载框
									}, 1000)

								}
							} else {
								let PhoneType = uni.getSystemInfoSync().platform
								console.log('手机类型', PhoneType, fileUrl)
								// 如果是pdf 跳转web预览
								//跳转到pdfView并预览pdf文档。
								uni.navigateTo({
									url: "/pages/webview/webview?url=" + fileUrl + '&PhoneType=' +
										PhoneType
								})
							}
						}
					}
				});
			},
		},
	}
</script>
<style lang="less" scoped>
	.btn {
		border: 1px solid #333;
		border-radius: 50%;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 20rpx;
	}

	.slot-box {
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		flex-direction: row;
		align-items: center;
	}

	.slot-text {
		flex: 1;
		font-size: 14px;
		color: #4cd964;
		margin-right: 10px;
	}
</style>